﻿using System;
using System.Collections;
using Gp.Scripts.Core;
using Gp.Scripts.Core.Skill;
using Gp.Scripts.Data.Skills;
using Gp.Scripts.GUI;

namespace Gp.Scripts.Core {
    // public abstract class ReactionEventWrapper {
    //     public BaseReactionAbilityEntity Register { get; }
    //     // public Type ArgsType { get; }
    //
    //     public ReactionEventWrapper(BaseReactionAbilityEntity register, Type argsType) {
    //         Register = register;
    //         // ArgsType = argsType;
    //     }
    // }
    


    public class BaseReactionEntity : SkillEntity {
        // public BaseReactionEntity(SkillEntityConfig config) : base(config) { }

        /// <summary>
        /// 判断是否能触发该技能的反应条件
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        public virtual bool CanReaction(ReactionArgs args) {
            return false;
        }


        public override void Display() {
            base.Display();
        }


        public override void CleanUp() {
            base.CleanUp();
        }
        
        


        public override DisableReason CanSelect() {
            // 默认无法主动触发
            return DisableReason.Build(DS_Reason.EMPTY, () => false);
        }
    }
}